/**
 * jims
 */
package com.jims.master.modules.csm.dao;

import com.jims.master.common.persistence.CrudDao;
import com.jims.master.common.persistence.annotation.MyBatisDao;
import com.jims.master.modules.csm.entity.ExpInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 消耗品基本信息DAO接口
 *
 * @author CTQ
 * @version 2017-03-02
 */
@MyBatisDao
public interface ExpInfoDao extends CrudDao<ExpInfo> {

    /**
     * 添加价表数据自动补全过滤已添加过的消耗品
     *
     * @param expInfo
     * @param orgId
     * @return
     */
    public List<ExpInfo> findAutoCompleteList(@Param("expInfo") ExpInfo expInfo, @Param("orgId") String orgId, @Param("q") String q, @Param("limit") String limit);

    /**
     * 消耗品入库自动补全已存在价格的消耗品
     *
     * @param expInfo
     * @param orgId
     * @return
     */
    public List<ExpInfo> findAutoCompletePriceList(@Param("expInfo") ExpInfo expInfo, @Param("orgId") String orgId, @Param("q") String q, @Param("limit") String limit);

    /**
     * 门诊处方计算用消耗天数时调用
     *
     * @param expInfo
     * @return
     */
    public ExpInfo findExpInfo(ExpInfo expInfo);

    /**
     * 用消耗品类别、消耗品名称查询消耗品基本信息
     *
     * @param expInfo
     * @return
     */
    public List<ExpInfo> findExpInfoList(ExpInfo expInfo);

    /**
     * 根据代码、厂家、规格、单位、包装数量、包装规格、包装单位、名称来查询消耗品信息---消耗品信息保存时，验证是否已经维护过该规格厂家的消耗品
     * @param expInfo
     * @return
     * @author fengyg
     * @date 2017-07-10
     */
    public List<ExpInfo> getInfoList(ExpInfo expInfo);
}